#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>


typedef int SLTDataType;


typedef struct SListNode
{
	SLTDataType Data;
	struct SListNode* next;
}SLTNode;

void SLTPrint(SLTNode* head);
SLTNode* BuySLTNode(SLTDataType x);

void SLTPushFront(SLTNode** head, SLTDataType x);

void SLTPopFront(SLTNode** head);

void SLTPushBack(SLTNode** head, SLTDataType x);

void SLTPopBack(SLTNode * head);

SLTNode* SLTFind(SLTNode* head, SLTDataType x);

void SLTInsert(SLTNode** head, SLTNode* pos, SLTDataType x);

void SLTInsertAfter(SLTNode* pos, SLTDataType X);

void SLTErase(SLTNode** head, SLTNode* pos);

void SLTErase(SLTNode* pos);